package com.ziyueyuwen.xiniao.bean.homework;

import com.ziyueyuwen.xiniao.enums.ItemTypeEnum;
import com.ziyueyuwen.xiniao.enums.QuestionTypeEnum;

import java.util.ArrayList;
import java.util.List;
import java.util.TreeMap;

/**
 * @author jun 2018/12/11.
 */
public class QuestionInfo {
    private Integer id;

    /**
     * 题目类型 单选  多选 等
     */
    private QuestionTypeEnum questionType;

    /**
     * 互动题标记第几次互动
     */
    private Integer classroomTestIdx;

    /**
     * 标题
     */
    private String titleTag;

    /**
     * 题干
     */
    private List<ItemData> title;

    /**
     * 选项 或者 填空
     */
    private TreeMap<String, List<ItemData>> optionMap;

    /**
     * 答案
     */
    private List<String> answerList;

    /**
     * 分值
     */
    private TreeMap<String, Integer> scoreMap;

    /**
     * 填空题是否按照顺序作答
     */
    private Boolean ifAnswerWithOrder;

    /**
     * 解析
     */
    private List<ItemData> explainList;

    /**
     * 连线题左边数据
     */
    private List<String> leftDataList;

    /**
     * 连线题右边数据
     */
    private List<String> rightDataList;

    /**
     * 新连线题的左侧数据
     */
    private List<ItemData> newLeftDataList;

    /**
     * 新连线题的右侧数据
     */
    private List<ItemData> newRightDataList;

    /**
     * 拖拽题数据
     */
    private List<ItemData> dragDataList;

    /**
     * 组合题数据
     */
    private List<QuestionInfo> groupList;

    /**
     * 主观题作答方式
     */
    private List<ItemTypeEnum> answerWay;

    /**
     * 主观题标签
     */
    private String topic;

    public QuestionInfo() {
        answerWay = new ArrayList<>();
        answerWay.add(ItemTypeEnum.TEXT);
        answerWay.add(ItemTypeEnum.IMG);
        answerWay.add(ItemTypeEnum.VIDEO);
        answerWay.add(ItemTypeEnum.AUDIO);
    }

    public List<String> getLeftDataList() {
        return leftDataList;
    }

    public void setLeftDataList(List<String> leftDataList) {
        this.leftDataList = leftDataList;
    }

    public List<String> getRightDataList() {
        return rightDataList;
    }

    public void setRightDataList(List<String> rightDataList) {
        this.rightDataList = rightDataList;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public QuestionTypeEnum getQuestionType() {
        return questionType;
    }

    public void setQuestionType(QuestionTypeEnum questionType) {
        this.questionType = questionType;
    }

    public List<ItemData> getTitle() {
        return title;
    }

    public void setTitle(List<ItemData> title) {
        this.title = title;
    }

    public TreeMap<String, List<ItemData>> getOptionMap() {
        return optionMap;
    }

    public void setOptionMap(TreeMap<String, List<ItemData>> optionMap) {
        this.optionMap = optionMap;
    }

    public List<String> getAnswerList() {
        return answerList;
    }

    public void setAnswerList(List<String> answerList) {
        this.answerList = answerList;
    }

    public TreeMap<String, Integer> getScoreMap() {
        return scoreMap;
    }

    public void setScoreMap(TreeMap<String, Integer> scoreMap) {
        this.scoreMap = scoreMap;
    }

    public List<ItemData> getExplainList() {
        return explainList;
    }

    public void setExplainList(List<ItemData> explainList) {
        this.explainList = explainList;
    }

    public Boolean getIfAnswerWithOrder() {
        return ifAnswerWithOrder;
    }

    public void setIfAnswerWithOrder(Boolean ifAnswerWithOrder) {
        this.ifAnswerWithOrder = ifAnswerWithOrder;
    }

    public List<ItemTypeEnum> getAnswerWay() {
        return answerWay;
    }

    public void setAnswerWay(List<ItemTypeEnum> answerWay) {
        this.answerWay = answerWay;
    }

    public String getTopic() {
        return topic;
    }

    public void setTopic(String topic) {
        this.topic = topic;
    }

    public String getTitleTag() {
        return titleTag;
    }

    public void setTitleTag(String titleTag) {
        this.titleTag = titleTag;
    }

    public List<ItemData> getNewLeftDataList() {
        return newLeftDataList;
    }

    public void setNewLeftDataList(List<ItemData> newLeftDataList) {
        this.newLeftDataList = newLeftDataList;
    }

    public List<ItemData> getNewRightDataList() {
        return newRightDataList;
    }

    public void setNewRightDataList(List<ItemData> newRightDataList) {
        this.newRightDataList = newRightDataList;
    }

    public List<ItemData> getDragDataList() {
        return dragDataList;
    }

    public void setDragDataList(List<ItemData> dragDataList) {
        this.dragDataList = dragDataList;
    }

    public List<QuestionInfo> getGroupList() {
        return groupList;
    }

    public void setGroupList(List<QuestionInfo> groupList) {
        this.groupList = groupList;
    }

    public Integer getClassroomTestIdx() {
        return classroomTestIdx;
    }

    public void setClassroomTestIdx(Integer classroomTestIdx) {
        this.classroomTestIdx = classroomTestIdx;
    }
}
